$(document).ready(function(){
    $('#form_product')
        .bootstrapValidator({
        message: 'This value is not valid',
        excluded: [':disabled'],
        feedbackIcons: {
            valid: 'glyphicon glyphicon-ok',
            invalid: 'glyphicon glyphicon-remove',
            validating: 'glyphicon glyphicon-refresh'
        },
        fields: {
            'product_category[]': {
                group: '.error_list_category',
                validators: {
                    notEmpty: {
                        message: 'Chọn danh mục sản phẩm'
                    }
                }
            },
            main_category: {
                group: '.error_category',
                validators: {
                    notEmpty: {
                        message: 'Chọn danh mục chính của sản phẩm'
                    },
                }
            },
            price: {
                selector:"#price",
                group: '.col-md-4',
                validators: {
                    regexp: {
                        regexp: /^[0-9]+$/,
                        message: 'Giá sản phẩm chỉ được nhập số'
                    },
                }
            },
            discount: {
                selector:"#discount",
                group: '.col-md-4',
                validators: {
                    regexp: {
                        regexp: /^[0-9]+$/,
                        message: 'Giá giảm chỉ được nhập số'
                    },
                }
            },
            percent_discount: {
                selector:"#percent_discount",
                group: '.col-md-4',
                validators: {
                    regexp: {
                        regexp: /^[0-9]+$/,
                        message: 'Phần trăm giảm chỉ được nhập số'
                    },
                }
            },
            title_vn: {
                selector:"#title_vn",
                group: '.error-title',
                validators: {
                    notEmpty: {
                        message: 'Tên sản phẩm không được để trống'
                    },
                }
            },
            title_en: {
                selector:"#title_en",
                group: '.error-title',
                validators: {
                    notEmpty: {
                        message: 'Tên sản phẩm không được để trống'
                    },
                }
            },
            link_vn: {
                selector:"#link_vn",
                trigger: 'change keyup',
                validators: {
                    notEmpty: {
                        message: 'Liên kết sản phẩm không được để trống'
                    },
                    regexp: {
                        regexp: /^[a-zA-Z0-9_#\.\/-]+$/,
                        message: 'Liên kết không chứa ký tự đặc biệt'
                    },
                    remote: {
                        type: 'POST',
                        data:{lang_code:$('#link_vn').attr('lang_code'), id:$('#product_id').val()},
                        url: admin_url + 'valid/valid_link',
                        message: 'Link này đã được sử dụng'
                    },
                }
            },
            link_en: {
                selector:"#link_en",
                trigger: 'change keyup',
                validators: {
                    notEmpty: {
                        message: 'Liên kết sản phẩm không được để trống'
                    },
                    regexp: {
                        regexp: /^[a-zA-Z0-9_#\.\/-]+$/,
                        message: 'Liên kết không chứa ký tự đặc biệt'
                    },
                    remote: {
                        type: 'POST',
                        data:{lang_code:$('#link_en').attr('lang_code'), id:$('#product_id').val()},
                        url: admin_url + 'valid/valid_link',
                        message: 'Link này đã được sử dụng'
                    },
                }
            },
            'data[Product][type]': {
                selector:"#type",
                validators: {
                    notEmpty: {
                        message: 'Chọn loại sản phẩm'
                    },
                }
            },
        }
    })
    // Called when a field is invalid
    .on('error.field.bv', function(e, data) {
        // data.element --> The field element

        var $tabPane = data.element.parents('.tabbable'),
            tabId    = $tabPane.attr('id');

        $('a[href="#' + tabId + '"][data-toggle="tab"]')
            .parent()
            .find('i')
            .removeClass('fa-check')
            .addClass('fa-times');
    })
    // Called when a field is valid
    .on('success.field.bv', function(e, data) {
        // data.bv      --> The BootstrapValidator instance
        // data.element --> The field element

        var $tabPane = data.element.parents('.tabbable'),
            tabId    = $tabPane.attr('id'),
            $icon    = $('a[href="#' + tabId + '"][data-toggle="tab"]')
                        .parent()
                        .find('i')
                        .removeClass('fa-check fa-times');

        // Check if the submit button is clicked
        if (data.bv.getSubmitButton()) {
            // Check if all fields in tab are valid
            var isValidTab = data.bv.isValidContainer($tabPane);
            $icon.addClass(isValidTab ? 'fa-check' : 'fa-times');
        }
    });
    
    $('ul.list_category input[type=checkbox]').click(function(){
        
        var option = "<option value=''>Choice main category</option>";
        $('ul.list_category input[type=checkbox]:checked').each(function( index ) {
            var category_id = $(this).val();
            var title = $(this).attr('title');
            option += "<option value='"+category_id+"'>"+title+"</option>";
        });
        $('select.select_main_category').html(option);
    })
    
    $('.change_status_product').click(function(){
        var product_id = $(this).attr('product_id');
        var $this = $(this);
        $.ajax({
            url:admin_url + 'ajax/change_status_product',
            type:'post',
            data:{product_id:product_id},
            success:function(data){
                var _this = $this;
                if(data == '1')
                {
                    _this.html('Enable');
                    _this.removeClass('red');
                    _this.removeClass('green');
                    _this.addClass('green');
                }
                if(data == '0')
                {
                    _this.html('Disable');
                    _this.removeClass('red');
                    _this.removeClass('green');
                    _this.addClass('red');
                }
            }
        });
    });
    
    $('.delete_product').click(function(){
        var product_id = $(this).attr('product_id');
        var array_attr = {confirm_delete_product:"confirm_delete_product", product_id:product_id}; 
        open_modal_confirm('Xác nhận', 'Bạn có chắc chắn muốn xóa...', array_attr);
    });

    $('button[confirm_delete_product=confirm_delete_product]').live('click',function(){
        var product_id = $(this).attr('product_id');
        $.ajax({
                url:admin_url + 'ajax/delete_product',
                type:'post',
                data:{product_id:product_id},
                success:function(data){
                    location.reload(); 
                }
            });
    });
    
    $('input[id^=title_]').change(function(){
        var content = $(this).val();
        var lang_code = $(this).attr('lang_code');
        $.ajax({
            url:admin_url + 'ajax/convert_link',
            type:'post',
            data:{content:content},
            success:function(data){
                $('#link_'+lang_code).val(data);
                $('#link_'+lang_code).change();
                //$("#form_category").validate().element("#link_vn");
                //$("#form_category").validate();
                //console.log('OK');            
            }
        });
    });
    
    $('#parent_category').change(function(){
        var link = admin_url + 'product/index/' + $(this).val();
        window.location.href = link;
    });
    
    $('span[change_favorite=1]').click(function(){
        var product_id = $(this).attr('product_id');
        var $this = $(this);
        $.ajax({
            url:admin_url + 'product/change_favorite/',
            type:'post',
            data:{product_id:product_id},
            success:function(data){
                var _this = $this;
                if(data == 1)
                {
                    _this.addClass('active'); 
                }
                else
                {
                    _this.removeClass('active'); 
                }
                            
            }
        });
    });
    
    $('span[change_in_stock=1]').click(function(){
        var product_id = $(this).attr('product_id');
        var $this = $(this);
        $.ajax({
            url:admin_url + 'product/change_in_stock/',
            type:'post',
            data:{product_id:product_id},
            success:function(data){
                var _this = $this;
                if(data == 1)
                {
                    _this.removeClass('active'); 
                }
                else
                {
                     _this.addClass('active'); 
                }
                            
            }
        });
    });
    
});